/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package domain.controllers.validators;

import domain.commands.PerfilComando;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;

/**
 *
 * @author jorge
 */
public class PerfilValidator implements Validator {

	public boolean supports(Class clazz) {
		
		return PerfilComando.class.isAssignableFrom(clazz);
	}
	public void validate(Object comando, Errors errors) {
            
            PerfilComando pc = (PerfilComando)comando;
            String fecha = pc.getFechaNac();  
            
        if(!fecha.equals("")){
           
          if(fecha.length() !=10 ){ 
               
              errors.rejectValue("fechaNac", "fechaNac.correcto","La fecha etsa mal, seleccionala del calendario por favor");
           
             
          }else if(!fecha.substring(4,5).equals("-")){
                errors.rejectValue("fechaNac", "fechaNac.correcto","La fecha etsa mal, seleccionala del calendario por favor ");
            }else if(!fecha.substring(7, 8).equals("-")){
                errors.rejectValue("fechaNac", "fechaNac.correcto","La fecha etsa mal, seleccionala del calendario por favor");
            }else{
                 
               Pattern p = Pattern.compile("[a-zA-Z]");
               Matcher m = p.matcher(fecha);
                if(m.find()){
                   errors.rejectValue("fechaNac", "fechaNac.correcto","La fecha es incorretca, selecione la fecha del calendario por favor");
                }
               
              }
            
            }
            
        String cp = pc.getCp();
        if(!cp.equals("0")){
            Pattern p = Pattern.compile("[a-zA-Z]");
               Matcher m = p.matcher(cp);
                if(m.find()){
                   errors.rejectValue("cp", "cp.correcto","El codigo postal introducido es incorrecto");
                }
        }
        
        String numero = pc.getNumero();
        if(!numero.equals("0")){
            Pattern p = Pattern.compile("[a-zA-Z]");
               Matcher m = p.matcher(numero);
                if(m.find()){
                   errors.rejectValue("numero", "numero.correcto","El numero introducido es incorrecto");
                }
        }
        
        String telefono = pc.getTelefono();
        if(!telefono.equals("0")){
            Pattern p = Pattern.compile("[a-zA-Z]");
               Matcher m = p.matcher(telefono);
                if(m.find()){
                   errors.rejectValue("telefono", "telefono.correcto","El telefono es incorrecto");
                }
        }
        
            
        }
         

}